While older vehicles used to be largely mechanically controlled, modern vehicles have a significant number of software components and computerized hardware components that control vehicle subsystems. These components can react to changes in vehicles states to provide advanced degrees of vehicle control and functionality. Additionally, many of these components can interact with each other, linking various modules of the vehicle over one or more data networks, such as, but not limited to, a vehicle CAN bus.
These modules, whether software or firmware, are capable of being dynamically updated. In other words, if an improvement or correction to a module is needed, a change can be made to the module without simply obtaining a newer vehicle reflecting the change. Changes may also be made for diagnostic purposes, and even customized modules can be employed for a group of vehicles, such as a fleet.
Typically, when a change to a module is needed, the vehicle is brought to a diagnostic point where a technician is present, or a technician with diagnostic and update tools is deployed to the vehicle. The technician can access the desired software module(s), make any needed changes, verify that the change has been properly implemented, and then move on to a next vehicle.
If changes are to be made to particular vehicles in a fleet, or all vehicles having a certain designation, and those vehicles are not in proximity to one another, it could take a while to implement the changes to all the vehicles.
In addition to having software control modules, many vehicles are equipped with one or more transceivers. Capable of either direct communication with a remote network, or communication with a wireless device through which the transceivers connect to the remote network, these vehicles can communicate with remote servers and terminals through a wireless connection.